home *** CD-ROM | disk | FTP | other *** search
- unit webmod;
- interface
- uses
- Variants, SysUtils, Classes, HTTPApp, HTTPProd, DBXpress, FMTBcd, DBWeb,
- DB, SqlExpr;
-
- type
- TWebModule1 = class(TWebModule)
- PageProducer1: TPageProducer;
- SQLConnection1: TSQLConnection;
- SQLQuery1: TSQLQuery;
- DataSetTableProducer1: TDataSetTableProducer;
- procedure WebModule1Actions2Action(Sender: TObject; Request: TWebRequest;
- Response: TWebResponse; var Handled: Boolean);
- procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings;
- var ReplaceText: String);
- procedure WebModule1Actions0Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- procedure WebModule1Actions1Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- WebModule1: TWebModule1;
-
- implementation
- uses WebReq;
-
- {$R *.xfm}
-
- procedure TWebModule1.WebModule1Actions2Action(Sender: TObject; Request: TWebRequest;
- Response: TWebResponse; var Handled: Boolean);
- begin
- Response.Content := '<H1>Made in Kylix!</H1>';
- end;
-
- procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings; var ReplaceText: String);
- begin
- if TagString = 'DATE' then
- ReplaceText := DateTimeToStr(Now)
- else
- if TagString = 'counter' then
- ReplaceText := Request.CookieFields.Values['counter']
- else // login
- ReplaceText := Request.QueryFields.Values['login']
- end;
-
- procedure TWebModule1.WebModule1Actions0Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- var
- Cookie: Integer;
- Cookies: TStringList;
- begin
- Cookie := StrToIntDef(Request.CookieFields.Values['counter'],0);
- Inc(Cookie);
- Cookies := TStringList.Create;
- try
- Cookies.Add('counter=' + IntToStr(Cookie));
- Response.SetCookieField(Cookies,'','',-1,false);
- finally
- Cookies.Free
- end
- end;
-
- procedure TWebModule1.WebModule1Actions1Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- begin
- try
- // SQLConnection1.LoadParamsOnConnect := False;
- SQLConnection1.Connected := True;
- try
- Response.Content :=
- DataSetTableProducer1.Content
- finally
- SQLConnection1.Connected := True
- end
- except
- on E: Exception do
- Response.Content := 'Error: ' +
- E.Message
- end
- end;
-
- initialization
- WebRequestHandler.WebModuleClass := TWebModule1;
- end.
-